#include <Wire.h>

/**

* SCL <--> D1

* SDA <--> D2

*/
int i;
void setup() 
{	
	Wire.begin();
	Serial.begin(115200);
	delay(3000);
}

 

void loop() 
{
	byte error, address;
	int nDevices;
	
	Serial.println();
	Serial.printf("%03d Scanning I2C Devices....\n",i++);
	nDevices = 0;
	for (address = 1; address < 127; address++ )
	{
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    if (error == 0)
	{
		Serial.print("I2C device found at address 0x");
		if (address < 16)
		{
			Serial.print("0");
		}
		Serial.print(address, HEX);
		Serial.println(" !");
		nDevices++;
		} 
		else if (error == 4) 
		{
			Serial.print("Unknow error at address 0x");
			if (address < 16)
				Serial.print("0");
			Serial.println(address, HEX);
		}
   delay(50);
	}
	if (nDevices == 0)
		Serial.println("No I2C devices found\n");
	else
		Serial.println("done\n");
	delay(1000);
}
